package com.sparkseries.common.log.enums;

/**
 * 日志状态枚举类，用于表示日志操作的执行状态。
 */
public enum LogStatusEnums {

    /**
     * 日志操作成功的状态。
     * 对应的值为 1，用于在日志记录中标识操作已成功完成。
     */
    SUCCESS(1),

    /**
     * 日志操作失败的状态。
     * 对应的值为 0，用于在日志记录中标识操作未能成功完成。
     */
    FAILURE(0);

    /**
     * 枚举常量对应的整数值。
     */
    private final int value;

    /**
     * 构造函数，用于初始化枚举常量的整数值。
     *
     * @param value 枚举常量对应的整数值
     */
    LogStatusEnums(int value) {
        this.value = value;
    }

    /**
     * 获取枚举常量对应的整数值。
     *
     * @return 枚举常量对应的整数值
     */
    public int value() {
        return this.value;
    }

    /**
     * 根据整数值获取对应的日志状态枚举常量。
     * 该方法增加了从整数值反向查找枚举常量的功能，提高了枚举的易用性和扩展性。
     *
     * @param value 要查找的整数值
     * @return 对应的日志状态枚举常量，如果未找到则返回 null
     */
    public static LogStatusEnums fromValue(int value) {
        for (LogStatusEnums status : LogStatusEnums.values()) {
            if (status.value == value) {
                return status;
            }
        }
        return null;
    }
}